/*
 * Parte do treinamento em Minera��o e Visualiza��o de Dados usando Java
 * Rafael Santos ( rafael . santos@lac . inpe .br)
 * http :// www.lac. inpe .br /~ rafael . santos /
 */
package gui;

import java.awt.*;
import java.io.*;

import javax.swing.JFrame;
import gui.ParallelCoordinatesComponent;
import gui.ParallelCoordinatesConstants;

import weka.core.Instances;

/**
 * Exemplo simples de visualiza��o com coordenadas paralelas .
 */
public class ExemploPC3 {
	public static void main(String[] args) throws IOException {
		// Usaremos a base titanic . arff .
		FileReader reader = new FileReader(
				"/ home / rafael / Java / APIs / Weka / data / titanic . arff ");
		Instances instances = new Instances(reader);
		// Criamos uma inst�ncia de ParallelCoordinatesConstants e modificamos
		// alguns dos
		// atributos , como as cores para as linhas e algumas margens .
		ParallelCoordinatesConstants consts = new ParallelCoordinatesConstants();
		int transp = 3;
		// A ordem em que os valores para a classe aparecem no arquivo . arff �
		// {yes ,no }.
		consts.linesColors = new Color[] { new Color(0, 0, 255, transp),
				new Color(255, 0, 0, transp) };
		consts.bottomMargin = 100;
		consts.leftMargin = 75;
		ParallelCoordinatesComponent component = new ParallelCoordinatesComponent(
				instances, true, true, 1);
		component.setConsts(consts);
		component.setPreferredSize(new Dimension(1200, 500));
		// Montamos a UI para visualizar o componente .
		JFrame frame = new JFrame(" Parallel Coordinates ");
		frame.getContentPane().add(component);
		frame.pack();
		frame.setVisible(true);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}

}